508. 出现次数最多的子树元素和

508. 出现次数最多的子树元素和

Similar Question

leading to the advanced question

Solution Tips

哈希表统计出现次数最多的元素

方案一: 递归

var findFrequentTreeSum = function(root) {
    const map = {};
    let res = [];
    let maxCount = 0;
    recursion(root)

    return res;


    function recursion(node) {
        if (node === null) return 0;

        const sum = recursion(node.left) + recursion(node.right) + node.val

        map[sum] = (map[sum] || 0) + 1;

        if (map[sum] > maxCount) {
            res = [sum]
            maxCount = map[sum]
        }
        else if (map[sum] === maxCount){
            res.push(sum)
        }

        return sum;
    }
}